<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // 进制也就是进位计数制，是人为定义的带进位的计数方法

    // 日常
    // 二进制  0 1  => 10
    // 八进制  0 1 2 3 4 5 6 7  => 10
    // 十进制  0 1 2 3 4 5 6 7 8 9  => 10
    // 16进制  0 1 2 3 4 5 6 7 8 9 a b c d e f => 10

    // 十进制转二进制  
    // 35  => 100011  


    // toString(n)  十进制转n进制,如果不传参=> 默认转十进制(字符串), 如果数据非number类型 => 转字符串
    // parseInt(进制数,n)  将n进制的数转化为十进制(n默认为10)

    // 十进制转n进制
    // var num = 35;
    // var result = num.toString(2);
    // console.log(result);

    // var num = true;
    // var result = num.toString();
    // console.log(result);

    // n进制转化为十进制
    var num = 100011;
    var result = parseInt(num, 2);
    console.log("2进制",result);

    var result = parseInt(num, 8);
    console.log("8进制",result);

    var result = parseInt(num, 16);
    console.log("16进制",result);


    // var result = parseInt(2100011, 2);  // 二进制不应该存在大于或等于2的数 => 转化失败 NaN
    // console.log(result);  // NaN

    console.log("-------------------------------");

    // 进制表示法(字面量)  => ES6新增  
    var num = 100011;
    console.log(num);


    var num = 0b100011;  // 2进制表示法(b => binary) => 输出十进制
    console.log(num);

    var num = 0o100011;  // 8进制表示法(o => Octal) => 输出十进制
    console.log(num);

    var num = 0x100011;  // 16进制表示法(x => hex) => 输出十进制
    console.log(num);







  




</script>
</html>